const path = require('path');

const entry = require("./config/entry_webpack.js");
const output = require("./config/output_webpack.js");
const modules = require("./config/module_webpack.js");
const plugins = require("./config/plugins_webpack.js");

const host = require('./config/host.js');

const config={
    devtool: 'source-map',
    //入口文件的配置项
    entry:entry.path,
    //出口文件的配置项
    output:output,
    //模块：例如解读CSS,图片如何转换，压缩
    module:modules,
    //插件，用于生产模版和各项功能
    plugins:plugins,
    //配置webpack开发服务功能
    devServer:{
        //设置基本目录结构
        contentBase:path.resolve(__dirname,'dist'),
        //服务器的IP地址，可以使用IP也可以使用localhost
        host:host,
        // host:'localhost',
        //服务端压缩是否开启
        compress:true,
        //配置服务端口号
        port:1717,
        proxy: {
            '/login': {
                target: 'http://localhost:5555',
                secure: false,
                changeOrigin: true
            }
        },
        historyApiFallback:true
    },
    // watchOptions:{
    //     //检测修改的时间，以毫秒为单位
    //     poll:1000,
    //     //防止重复保存而发生重复编译错误。这里设置的500是半秒内重复保存，不进行打包操作
    //     aggregeateTimeout:500,
    //     //不监听的目录
    //     ignored:/node_modules/
    // }
    resolve: {
        extensions: [
            '.js',
            '.vue'
        ],
        alias: {
            vue: path.resolve(__dirname, 'node_modules', 'vue', 'dist', 'vue.min.js')
        }
    }
};

module.exports = config;